#include <stdio.h>

int main() {
    int a = 100;
    int b = 200;
    int c = a + b;
    int d = a - b;
    int e = a * b;
    int f = a / b;

    printf("a = %d\n", a);
    printf("b = %d\n", b);
    printf("c = %d\n", c);
    printf("d = %d\n", d);
    printf("e = %d\n", e);
    printf("f = %d\n", f);                  // 0

    // 将 int 转为 double 则可以得到正确答案
    printf("/ = %f\n", a * 1.0 / b);        // 0.500000
    printf("/ = %f\n", (double) a / b);     // 0.500000
    printf("\n");

    int number = 12345;
    printf("%d ", number % 10);             // 个位
    printf("%d ", number / 10 % 10);        // 十位
    printf("%d ", number / 100 % 10);       // 百位
    printf("%d ", number / 1000 % 10);      // 千位
    printf("%d\n", number / 10000 % 10);    // 万位
    printf("\n");

    // 需要的类型与给的类型不匹配, 需要转换
    printf("%d\n", 3.1415926);              // 没有转换
    printf("%d\n", (int) 3.1415926);        // 正常的转换
    printf("\n");

    // 类型转化只能小转大, 不能大转小
    printf("%d\n", (int) 'a');              // 正确的转换
    printf("%c", (char) 1);                 // 错误的转换
    return 0;
}